package com.punai.monthanalysis.domain;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.punai.common.utils.Decimal3Serializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.punai.common.annotation.Excel;
import com.punai.common.core.domain.BaseEntity;

/**
 * 专业分包工程对比分析对象 pro_ydcbfx_zyfbgcdbfxb
 *
 * @author zxw_
 * @date 2023-04-19
 */
public class ProYdcbfxZyfbgcdbfxb extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private String id;
    /**
     * 上级ID
     */
    @Excel(name = "上级ID")
    private String pid;

    /**
     * 期次
     */
    @Excel(name = "期次")
    private String qc;

    /**
     * 项目ID
     */
    @Excel(name = "项目ID")
    private String proId;
    /**
     * 序号
     */
    @Excel(name = "序号")
    private Integer xh;
    /**
     * 分类
     */
    @Excel(name = "分类")
    private String category;
    /**
     * 工作分项
     */
    @Excel(name = "工作分项")
    private String itemName;
    /**
     * 单位
     */
    @Excel(name = "单位")
    private String unit;
    /**
     * 预算_数量
     */
    @Excel(name = "预算_数量")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal ysQuantity;
    /**
     * 预算_平均单价
     */
    @Excel(name = "预算_平均单价")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal ysAvgPrice;
    /**
     * 预算_金额
     */
    @Excel(name = "预算_金额")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal ysPrice;
    /**
     * 实际_数量
     */
    @Excel(name = "实际_数量")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal sjQuantity;
    /**
     * 实际_平均单价
     */
    @Excel(name = "实际_平均单价")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal sjAvgPrice;
    /**
     * 实际_金额
     */
    @Excel(name = "实际_金额")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal sjPrice;
    /**
     * 节超_数量
     */
    @Excel(name = "节超_数量")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal jcQuantity;
    /**
     * 节超_数量_节超率
     */
    @Excel(name = "节超_数量_节超率")
    private BigDecimal quantityJcl;
    /**
     * 节超_金额
     */
    @Excel(name = "节超_金额")
    @JsonSerialize(using = Decimal3Serializer.class)
    private BigDecimal price;
    /**
     * 节超_金额_节超率
     */
    @Excel(name = "节超_金额_节超率")
    private BigDecimal priceJcl;

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public String getQc() {
        return qc;
    }

    public void setQc(String qc) {
        this.qc = qc;
    }

    public void setPid(String pid) {
        this.pid = pid;
    }

    public String getPid() {
        return pid;
    }

    public void setProId(String proId) {
        this.proId = proId;
    }

    public String getProId() {
        return proId;
    }

    public Integer getXh() {
        return xh;
    }

    public void setXh(Integer xh) {
        this.xh = xh;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getCategory() {
        return category;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public String getItemName() {
        return itemName;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getUnit() {
        return unit;
    }

    public void setYsQuantity(BigDecimal ysQuantity) {
        this.ysQuantity = ysQuantity;
    }

    public BigDecimal getYsQuantity() {
        return ysQuantity;
    }

    public void setYsAvgPrice(BigDecimal ysAvgPrice) {
        this.ysAvgPrice = ysAvgPrice;
    }

    public BigDecimal getYsAvgPrice() {
        return ysAvgPrice;
    }

    public void setYsPrice(BigDecimal ysPrice) {
        this.ysPrice = ysPrice;
    }

    public BigDecimal getYsPrice() {
        return ysPrice;
    }

    public void setSjQuantity(BigDecimal sjQuantity) {
        this.sjQuantity = sjQuantity;
    }

    public BigDecimal getSjQuantity() {
        return sjQuantity;
    }

    public void setSjAvgPrice(BigDecimal sjAvgPrice) {
        this.sjAvgPrice = sjAvgPrice;
    }

    public BigDecimal getSjAvgPrice() {
        return sjAvgPrice;
    }

    public void setSjPrice(BigDecimal sjPrice) {
        this.sjPrice = sjPrice;
    }

    public BigDecimal getSjPrice() {
        return sjPrice;
    }

    public void setJcQuantity(BigDecimal jcQuantity) {
        this.jcQuantity = jcQuantity;
    }

    public BigDecimal getJcQuantity() {
        return jcQuantity;
    }

    public void setQuantityJcl(BigDecimal quantityJcl) {
        this.quantityJcl = quantityJcl;
    }

    public BigDecimal getQuantityJcl() {
        return quantityJcl;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPriceJcl(BigDecimal priceJcl) {
        this.priceJcl = priceJcl;
    }

    public BigDecimal getPriceJcl() {
        return priceJcl;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("pid", getPid())
                .append("proId", getProId())
                .append("xh", getXh())
                .append("category", getCategory())
                .append("itemName", getItemName())
                .append("unit", getUnit())
                .append("ysQuantity", getYsQuantity())
                .append("ysAvgPrice", getYsAvgPrice())
                .append("ysPrice", getYsPrice())
                .append("sjQuantity", getSjQuantity())
                .append("sjAvgPrice", getSjAvgPrice())
                .append("sjPrice", getSjPrice())
                .append("jcQuantity", getJcQuantity())
                .append("quantityJcl", getQuantityJcl())
                .append("price", getPrice())
                .append("priceJcl", getPriceJcl())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
